package com.game.football;

import java.awt.*;

/**
 * 代表玩家的类。
 */
public class Player {
    private int x, y;
    private final int size;

    /**
     * 构造一个新的玩家对象。
     *
     * @param x      玩家的初始 X 坐标
     * @param y      玩家的初始 Y 坐标
     * @param size   玩家的大小
     */
    public Player(int x, int y, int size) {
        this.x = x;
        this.y = y;
        this.size = size;
    }

    /**
     * 移动玩家。
     *
     * @param dx X 方向的移动距离
     * @param dy Y 方向的移动距离
     */
    public void move(int dx, int dy) {
        x += dx;
        y += dy;

        // 边界检测
        if (x < 0) {
            x = 0;
        } else if (x + size > Constants.WIDTH) {
            x = Constants.WIDTH - size;
        }
        if (y < 0) {
            y = 0;
        } else if (y + size > Constants.HEIGHT) {
            y = Constants.HEIGHT - size;
        }
    }

    /**
     * 绘制玩家。
     *
     * @param g 用于绘制的 Graphics 对象
     */
    public void draw(Graphics g) {
        g.setColor(Color.BLUE);
        g.fillRect(x, y, size, size);
    }

    /**
     * 获取玩家的边界矩形。
     *
     * @return 玩家的边界矩形
     */
    public Rectangle getBounds() {
        return new Rectangle(x, y, size, size);
    }
}